package com.gexin.model.template;

import com.gexin.model.template.base.BaseTemplateWuliuItem;
import com.jfinal.kit.LogKit;
import com.jfinal.plugin.activerecord.Db;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 业务名称:  t_template_wuliu_item(物流模板项目表) 
 */
@SuppressWarnings("serial")
public class TemplateWuliuItem extends BaseTemplateWuliuItem<TemplateWuliuItem> {
	public static final TemplateWuliuItem dao = new TemplateWuliuItem();

	/**
	 * fang 2016-07-07
	 * 根据  template_id  拿到对应的所有的template_item
	 *
	 */

	public List<TemplateWuliuItem>getItemsByTemplateId(int template_id){
		String sql=" select * from t_template_wuliu_item where template_id=? and item_state=1 ";
		return dao.find(sql,template_id);
	}

	/**
	 * 子方法,增加  item
	 * 存储id
	 *   sku_area_text
	 */
	public void addTemplateItem(int tem_id, int first_num, BigDecimal fee, int continue_num, BigDecimal continue_fee, String areas_id_list, String sku_area_text, String addrJson){
		TemplateWuliuItem templateWuliuItem=new TemplateWuliuItem();
		templateWuliuItem.setTemplateId(tem_id);
		templateWuliuItem.setFee(fee);
		//fang 2016-07-13    对增加的字段   续件问题进行增加
		templateWuliuItem.setFirstNum(first_num);
		templateWuliuItem.setContinueNum(continue_num);
		templateWuliuItem.setContinueFee(continue_fee);//end
		templateWuliuItem.setAreasIdList(areas_id_list);
		templateWuliuItem.setSkuAreaText(sku_area_text);
		templateWuliuItem.setAddrJson(addrJson);
		templateWuliuItem.setItemState(1);//1为正常
		templateWuliuItem.save();
		//同事循环改变价格
		//数据处理
		String id_list[]=areas_id_list.split(",");
		List<String> sql_list = new ArrayList<String>();
		for(String areaid:id_list){
			sql_list.add(String.format("update t_template_area set state=1 ,item_id=%s where area_id=%s  and template_id =%s",  templateWuliuItem.getId(),areaid,templateWuliuItem.getTemplateId()));
		}
		Db.batch(sql_list, sql_list.size());
		// System.err.println("增加一个物流items结束");
	}

	/**
	 * 根据item_id  编辑 template_item
	 * fang  2016-07-08
	 *
	 */
	public void editTemplateItem(int item_id,int first_num,BigDecimal fee,int continue_num,BigDecimal continue_fee,String areas_id_list,String sku_area_text,String addrJson){
		TemplateWuliuItem templateWuliuItem= TemplateWuliuItem.dao.findById(item_id);
		templateWuliuItem.setFee(fee);
		//fang 2016-07-13    对增加的字段   续件问题进行增加
		templateWuliuItem.setFirstNum(first_num);
		templateWuliuItem.setContinueNum(continue_num);
		templateWuliuItem.setContinueFee(continue_fee);//end
		templateWuliuItem.setAreasIdList(areas_id_list);
		templateWuliuItem.setSkuAreaText(sku_area_text);
		templateWuliuItem.setAddrJson(addrJson);
		templateWuliuItem.setItemState(1);//1为有效的
		templateWuliuItem.update();
		//同事循环改变价格
		//数据处理
		String id_list[]=areas_id_list.split(",");
		List<String> sql_list = new ArrayList<String>();
		for(String areaid:id_list){
			sql_list.add(String.format("update t_template_area set state=1 ,item_id=%s where area_id=%s  and template_id =%s",  templateWuliuItem.getId(),areaid,templateWuliuItem.getTemplateId()));
			//TemplateArea.dao.changeDataByAreaIdAndTemplateId(areaid, templateWuliuItem.getTemplateId(), templateWuliuItem.getId());
		}
		//    System.err.println(JsonKit.toJson(sql_list));
		Db.batch(sql_list, sql_list.size());
		LogKit.info("修改一个物流items结束");
	}

	/**
	 * 根据template_id  删除对应的item
	 * fang 2016-07-08
	 *
	 */
	public void  deleteItemByTemplateId(int template_id){
		String sql=" delete from t_template_wuliu_item where template_id=? ";
		Db.update(sql,template_id);
	}


}
